A single-sensor camera detects the spatially varying intensity of light at image locations corresponding to a regular pattern of pixel locations on the sensor. In a color single-sensor camera, a color filter array overlies the sensor such that the sensor detects the intensity of colors at varying pixel locations according to a regular color filter array (CFA) pattern of, generally, three colors. Ordinarily, the CFA is a regular pattern of color filters for detecting only one color at each pixel location. Consequently, a single sensor color camera does not capture original data corresponding to all three colors for each pixel. Instead, it captures one color for each pixel, so that interpolation is required to construct three full color image planes for each image.
A typical camera system generates red, green, and blue colors. A color filter array interpolation algorithm is used to convert the image from a sparsely sampled color image (one color per pixel) to a full red, green, blue (RGB) image (i.e., RGB for each pixel). Most color filter array patterns have a high-frequency signal that is sampled more regularly, and more frequently, in the pattern than the other colors. In an RGB image, this high frequency signal is green; it is also referred to as the luminance signal, which represents the higher frequency detail and the maximum sensitivity of the human eye. Ordinarily, traditional bilinear interpolation is used to generate a full green image plane. For instance, the green data from green pixels on either side of a red or blue pixel (i.e., a "missing green" pixel) are used to interpolate the "missing green" value for the red or blue location. Then, traditional bilinear interpolation of color difference signals, also called chrominance signals, is utilized to interpolate the other colors of the CFA pattern for each pixel. A traditional method of this type is disclosed in U.S. Pat. No. 4,642,678.
A problem with such traditional methods is that they are prone to colored edge artifacts in the image. This problem can be treated through use of more sophisticated interpolation techniques, such as described in U.S. Pat. No. 4,630,307, which uses prior knowledge about features existing in the neighborhood. The image data is utilized to determine the appropriate algorithm, and the missing data is reconstructed using the selected algorithm. For example, in the '307 patent, different interpolation routines are used for edges, stripes, and corners. The particular feature is determined by comparing the pixel data with templates stored in a computer.
As pointed out before, the major shortcoming of the traditional procedures concerns the generation of artifacts at color edges. The sophisticated procedure, exemplified by the '307 patent, can reduce these artifacts, but at considerable cost and complexity in processing capability.